/***尚硅谷Java数据结构与java算法                 ***/
/***https://www.bilibili.com/video/BV1E4411H73v***/
/***分治算法             P155                   ***/
/***C++ 实现版本    written by Daniel           ***/
#include <iostream>

using std::cout;
using std::endl;
/*
功能：求解汉诺塔
参数：num，汉诺塔的层数  column  想移动到的位置
返回值：void 空
*/

void hanoiTower(int num, char a, char b, char c)
{
    if (num==1){
        cout<<a<<">>"<<c<<endl;
    }
    else{
        hanoiTower(num-1,a,c,b);
        hanoiTower(1,a,b,c);
        hanoiTower(num-1,b,a,c);
    }
}

int main(int argc, char **argv)
{
    hanoiTower(30,'A','B','C');
}